from django.shortcuts import render, HttpResponse
from .models import *


# Create your views here.
# 多对多

# 增
def add(request):
    # 添加user数据
    for i in range(1, 10):
        User.objects.create(name=f'张三{i}', age=i * 10)

    # 添加movie数据
    for i in range(1, 10):
        Movie.objects.create(name=f'阿凡达{i}', duration=i * 30)

    # 添加关联表数据
    for i in range(1, 10):
        User.objects.get(id=i).movies.add(Movie.objects.get(id=1))
    return HttpResponse('添加成功！！！')


# 删
def delete(request):
    # delete()
    # 方法会删除数据库中的记录，而不是仅仅删除多对多关系。
    # remove()
    # 如果你只想删除多对多关系，而不是删除电影记录本身，应该使用remove()方法。
    User.objects.get(name='张三3').movies.filter(name='阿凡达3').remove()
    return HttpResponse('删除成功！！！')


# 改
def update(request):
    # 添加user数据

    for i in range(1, 10):
        User.objects.create(name=f'张三{i}', age=i * 10)
    return HttpResponse('修改成功！！！')


# 查
def select(request):
    # 获取用户收藏的所有电影:
    user = User.objects.get(id=1)
    print(user.movies.all())  # 获取用户收藏的所有电影:
    # 获取电影被哪些用户收藏了:
    movie = Movie.objects.get(id=1)
    print(movie.user_set.all())
    return HttpResponse('查询成功！！！')
